package com.ruoyi.system.mapper;

import com.ruoyi.system.domain.YcOrg;

import java.util.List;

/**
 * 油厂组织管理Mapper接口
 *
 * @author ruoyi
 * @date 2022-10-15
 */
public interface YcOrgMapper
{
    /**
     * 查询油厂组织管理
     *
     * @param orgId 油厂组织管理主键
     * @return 油厂组织管理
     */
    public YcOrg selectYcOrgByOrgId(Long orgId);

    /**
     * 通过org_id查找子组织
     * @param orgId 油厂组织管理主键
     * @return 油厂组织
     */
    public List<YcOrg> selectChildrenOrgs(Long orgId);


    /**
     * 查询油厂组织管理
     *
     * @param orgName 油厂组织管理主键
     * @return 油厂组织管理
     */
    public YcOrg selectYcOrgByOrgName(String orgName);

    /**
     * 查询油厂组织管理
     *
     * @param orgLevel 油厂组织级别
     * @return 油厂组织管理
     */
    public List<YcOrg> selectYcOrgByLevel(String orgLevel);
    /**
     * 查询油厂组织管理列表
     *
     * @param ycOrg 油厂组织管理
     * @return 油厂组织管理集合
     */
    public List<YcOrg> selectYcOrgList(YcOrg ycOrg);

    /**
     * 新增油厂组织管理
     *
     * @param ycOrg 油厂组织管理
     * @return 结果
     */
    public int insertYcOrg(YcOrg ycOrg);

    /**
     * 修改油厂组织管理
     *
     * @param ycOrg 油厂组织管理
     * @return 结果
     */
    public int updateYcOrg(YcOrg ycOrg);

    /**
     * 删除油厂组织管理
     *
     * @param orgId 油厂组织管理主键
     * @return 结果
     */
    public int deleteYcOrgByOrgId(Long orgId);

    /**
     * 批量删除油厂组织管理
     *
     * @param orgIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteYcOrgByOrgIds(Long[] orgIds);

    /**
     * 查询所有组织
     *
     * @return 结果
     */
    public List<YcOrg> selectYcOrgAll();


    /**
     * 查询区级组织
     *
     * @return 结果
     */
    public List<YcOrg> selectYcDistrictOrgAll();

    /**
     * 查询厂级组织
     *
     * @return 结果
     */
    public List<YcOrg> selectYcFactoryOrgAll();
}
